Typically, device-to-device (D2D) communications begin with a discovery process between the devices. Unlike standard access point (AP) or base station (BS) discovery where a device will connect to any AP/BS within proximity, in D2D communications a device is looking for a specific device or type of device (e.g. one with the desired service/content). The device discovery process often represents an enormous waste of resources, since it can take long periods of time before the specific device or type of device is within range for D2D communication.